package Test1;
import java.util.*;

/**
 * @version 1.0
 * @author W'd'n'm'd
 *
 * 一个简单的java小项目：通过简单的交互得到用户的收入和支出
 * */

class Interact extends Statement{
    boolean a = true;   //交互循环的开关
    //用来与用户交互的方法
    public void interact1(){
        System.out.println("————————————简单报表程序————————————");
        System.out.println("\t"+"请输入对应选项:");
        System.out.println("\t"+"1————收支明细");
        System.out.println("\t"+"2————收入");
        System.out.println("\t"+"3————支出");
        System.out.println("\t"+"4————结束\n");
        System.out.println("请输入：");
    }

    public void interact2(){
        //设置循环的目的是为了让用户可以多次输入（a可以看做是循环开关）
        interact1();
        while(a){
            String num = scanner.nextLine();
            if(num.equals("1")){
                print();
                /*interact1();*/
            }
            else if(num.equals("2")){
                in();
                /*interact1();*/
            }
            else if(num.equals("3")){
                out();
                /*interact1();*/
            }
            else if(num.equals("4")) {
                //当输入3的时候再次确认（虽然很没必要）
                System.out.println("\t"+"确定要离开吗？   确定输入y ，取消输入n");
                boolean b = true;
                while(b){
                    String exit = scanner.nextLine();
                    //当输入的不是n或y时，需要让用户再次输入
                    if(exit.equals("n")){
                        a = true;
                        b = false;
                    }   //当输入n时，将a设置为true,b设置为false
                    else if(exit.equals("y")){
                        a = false;
                        b = false;
                    }   //当输入y时，将a,b设置为false，并结束循环
                    else System.out.println("\t"+"请重新输入正确的标识：");    //当输入其他字符，则继续循环，直到出现n或y为止
                }
            }else System.out.println("\t"+"请重新输入正确的标识：");
        }
        System.out.println("\t"+"程序运行结束");
    }
}

class Write{
    Scanner scanner = new Scanner(System.in);
    String d = "收支"+"\t\t"+"收支金额"+"\t\t"+"账户金额"+"\t\t"+"说明\n";
    double money = 0;
    double Amoney = 10000;
    public void in(){
        System.out.println("说明");
        String tip = scanner.nextLine();
        System.out.println("收入金额");
        money = scanner.nextDouble();
        Amoney += money;
        d += "收入\t\t"+money+"\t\t"+Amoney+"\t\t"+tip+"\n";
        System.out.println("记录完毕，请继续下一步操作:");
    }
    public void out(){
        System.out.println("说明");
        String tip = scanner.nextLine();
        System.out.println("支出金额");
        money = scanner.nextDouble();
        Amoney -= money;
        d += "支出\t\t"+money+"\t\t"+Amoney+"\t\t"+tip+"\n";
        System.out.println("记录完毕，请继续下一步操作:");
    }
}

class Statement extends Write{
    public void print(){
        System.out.println("—————————————简单报表——————————————");
        System.out.println(d);
        System.out.println("——————————————————————————————————");
        System.out.println("请继续下一步操作:");
    }
}

public class Test1 {
    public static void main(String [] args){
        Interact interact = new Interact();
        interact.interact2();
    }
}
